window.lhp_vue_set=function(obj_
    ){
        let data_type=obj_.data_type;//要修改的数据类型  post||put delete clear
        let _this=obj_._this;//this vue对象
        let path=obj_.path;//path为data_obj要修改的数据的路径
        let data=obj_.data;//data为修改的数据
    //类型为新增或者修改
    if (data_type=='postput'){
    let change_obj=_this.data;
    let last_path=null;
    if (path.indexOf(".") !== -1){
        let path_lst=path.split(".");
        for (let i=0;i<path_lst.length-1;i++){change_obj=change_obj[path_lst[i]]}
        last_path=path_lst[path_lst.length-1];
    }else{last_path=path}
    // console.log("path",path)
    // console.log("_this.$set(change_obj,last_path,data)",change_obj,last_path,data)
    _this.$set(change_obj,last_path,JSON.parse(JSON.stringify(data)))
    //类型为删除
    }else if(data_type=="delete"){
        let change_obj=_this.data;
        let father_idx=null;
        let father_obj=null;
        if (path.indexOf(".") !== -1){
            let path_lst=path.split(".");
            if (path_lst.length<=1){console.log("delete异常 数量小于等于1");
return}
            for (let i=0;i<path_lst.length-1;i++){father_obj=change_obj;father_idx=path_lst[i];change_obj=change_obj[path_lst[i]];}
            let last_idx=path_lst[path_lst.length-1];
            let new_data=JSON.parse(JSON.stringify(change_obj));
            if(typeof new_data =="object") {  
                if (Array.isArray(new_data)){
                    new_data.splice(last_idx,1);

                }else{
                    delete new_data[last_idx]
                }
            _this.$set(father_obj,father_idx,new_data)
        }}else{console.log("delete异常 数量小于2");
return}

        
//类型为清空数据
}else if(data_type=="clear"){
    let change_obj=_this.data;
    let last_key=null;
    if (path.indexOf(".") !== -1){
        let path_lst=path.split(".");
        for (let i=0;i<path_lst.length-1;i++){change_obj=change_obj[path_lst[i]]}
        last_key=path_lst[path_lst.length-1];
    }else{
        last_key=path;
    
    }
    let temp_val=change_obj[last_key]
switch (typeof temp_val) {  
        case 'object':  
            // 注意：这里会匹配到null，因为null也是object类型  
            // 需要额外检查是否为null  
            if (temp_val === null) {  
                change_obj[last_key] = null; // 或者你可以将null也设置为{}  
            } else if (Array.isArray(temp_val)) {  
                change_obj[last_key] = [];  
            } else {  
                change_obj[last_key] = {};  
            }  
            break;  
        case 'string':  
        change_obj[last_key] = '';  
            break;  
        case 'number':  
        change_obj[last_key] = 0;  
            break;  
        case 'boolean':  
        change_obj[last_key] = false;  
            break;  

}


}else if(data_type=='insert'){
    // let before_idx=obj_.before_idx;
    let change_obj=_this.data;
    // let last_path=null;
    // console.log("insert检查-1 obj_",obj_)
    // console.log("insert检查 前data",JSON.parse(JSON.stringify(_this.data.data)))
    if (path.indexOf(".") !== -1){
        let path_lst=path.split(".");
        for (let i=0;i<path_lst.length-1;i++){change_obj=change_obj[path_lst[i]]}
        last_path=path_lst[path_lst.length-1];
    }else{last_path=path}
    // let new_val=JSON.parse(JSON.stringify(change_obj[last_path]));
    
    // if (before_idx===null || (!(before_idx===undefined))){
    //     new_val.push(JSON.parse(JSON.stringify(obj_.copy_data)));
    // }else{
    //     new_val.splice(before_idx,0,JSON.parse(JSON.stringify(obj_.copy_data))); 
    // }
    console.log("insert检查 path",path)
    console.log("insert检查 change_obj,last_path,new_val",change_obj,last_path)
    _this.$set(change_obj,last_path,JSON.parse(JSON.stringify(data)))
    console.log("insert检查 后data",JSON.parse(JSON.stringify(_this.data)))
    //类型为删除
    }
}


// aaa={
//     "htmlcrud": {},
//     "table_base_info": {
//         "备注": "这是用于存储一些加工罐数据信息的数据库",
//         "名称": "添加测试的库2"
//     },
//     "table_field_info": {
//         "create_people_id": {
//             "htmlcrud": {},
//             "主键": false,
//             "前端上传限制": null,
//             "前端上传限制提示": null,
//             "前端是否可以修改": false,
//             "前端是否显示": false,
//             "前端输入限制": null,
//             "前端输入限制提示": null,
//             "前端配置参数": "{\"width\": 120}",
//             "名称": "创建人id",
//             "字段类型": "INTEGER",
//             "字段长度": null,
//             "索引": true,
//             "自增长": null,
//             "自定义_默认值": null,
//             "备注": "用于记录这条数据的创建人，方便追溯"
//         },
//         "create_time": {
//             "htmlcrud": {},
//             "主键": false,
//             "前端上传限制": null,
//             "前端上传限制提示": null,
//             "前端是否可以修改": false,
//             "前端是否显示": false,
//             "前端输入限制": null,
//             "前端输入限制提示": null,
//             "前端配置参数": "{\"width\": 120}",
//             "名称": "创建时间",
//             "字段类型": "DATETIME",
//             "字段长度": null,
//             "索引": true,
//             "自增长": null,
//             "自定义_默认值": null,
//             "备注": "用于记录这条数据的创建时间，方便追溯"
//         },
//         "device": {
//             "edit_lhp_text": true,
//             "htmlcrud": {},
//             "show_lhp_text": "{}",
//             "主键": false,
//             "前端上传限制": null,
//             "前端上传限制提示": null,
//             "前端是否可以修改": true,
//             "前端是否显示": true,
//             "前端输入限制": null,
//             "前端输入限制提示": null,
//             "前端配置参数": "",
//             "名称": "加工罐设备号",
//             "字段类型": "VARCHAR",
//             "字段长度": [
//                 0,
//                 20
//             ],
//             "索引": true,
//             "自增长": null,
//             "自定义_默认值": null,
//             "备注": "加工罐设备号 如PP01"
//         },
//         "hidden": {
//             "htmlcrud": {},
//             "主键": false,
//             "前端上传限制": null,
//             "前端上传限制提示": null,
//             "前端是否可以修改": null,
//             "前端是否显示": false,
//             "前端输入限制": null,
//             "前端输入限制提示": null,
//             "前端配置参数": "",
//             "名称": "是否隐藏",
//             "字段类型": "INTEGER",
//             "字段长度": null,
//             "索引": true,
//             "自增长": null,
//             "自定义_默认值": null,
//             "备注": "删除的数据和修改的数据会被隐藏，但是追溯时可以查询"
//         },
//         "html_type": {
//             "htmlcrud": {},
//             "主键": false,
//             "前端上传限制": null,
//             "前端上传限制提示": null,
//             "前端是否可以修改": false,
//             "前端是否显示": false,
//             "前端输入限制": null,
//             "前端输入限制提示": null,
//             "名称": "前端的显示状态",
//             "字段类型": "INTEGER",
//             "字段长度": null,
//             "索引": true,
//             "自增长": null,
//             "自定义_默认值": "",
//             "备注": "前端的显示状态"
//         },
//         "id": {
//             "htmlcrud": {},
//             "主键": true,
//             "前端上传限制": null,
//             "前端上传限制提示": null,
//             "前端是否可以修改": false,
//             "前端是否显示": false,
//             "前端输入限制": null,
//             "前端输入限制提示": null,
//             "前端配置参数": "{\"width\": 120}",
//             "名称": "加工罐id",
//             "字段类型": "INTEGER",
//             "字段长度": null,
//             "索引": null,
//             "自增长": true,
//             "自定义_默认值": null,
//             "备注": "唯一id方便增删改查"
//         },
//         "level": {
//             "edit_lhp_text": true,
//             "htmlcrud": {},
//             "show_lhp_line": "{\"h_size\":0.16,\"w_size\":1,\"number\":120,\"max\":2}",
//             "show_lhp_text": "{\"val\":1}",
//             "show_lhp_xtext": "m",
//             "主键": false,
//             "前端上传限制": null,
//             "前端上传限制提示": null,
//             "前端是否可以修改": false,
//             "前端是否显示": true,
//             "前端输入限制": null,
//             "前端输入限制提示": null,
//             "前端配置参数": "{\"width\": 120}",
//             "名称": "液位",
//             "字段类型": "INTEGER",
//             "字段长度": null,
//             "索引": true,
//             "自增长": null,
//             "自定义_默认值": "0",
//             "备注": "加工罐的液位"
//         },
//         "mode": {
//             "edit_lhp_text": true,
//             "htmlcrud": {},
//             "主键": false,
//             "前端上传限制": null,
//             "前端上传限制提示": null,
//             "前端是否可以修改": false,
//             "前端是否显示": false,
//             "前端输入限制": null,
//             "前端输入限制提示": null,
//             "前端配置参数": "{\"width\": 120}",
//             "名称": "设备状态",
//             "字段类型": "TEXT",
//             "字段长度": null,
//             "索引": true,
//             "自增长": null,
//             "自定义_默认值": "",
//             "备注": "# 当前工作模式 0空闲模式 1自动运行 2单步运行 3调试运行"
//         },
//         "modify_count": {
//             "htmlcrud": {},
//             "主键": false,
//             "前端上传限制": null,
//             "前端上传限制提示": null,
//             "前端是否可以修改": null,
//             "前端是否显示": false,
//             "前端输入限制": null,
//             "前端输入限制提示": null,
//             "前端配置参数": "",
//             "名称": "修改次数",
//             "字段类型": "INTEGER",
//             "字段长度": null,
//             "索引": true,
//             "自增长": null,
//             "自定义_默认值": null,
//             "备注": "记录修改次数，方便产品追溯。"
//         },
//         "modify_people_id": {
//             "htmlcrud": {},
//             "主键": false,
//             "前端上传限制": null,
//             "前端上传限制提示": null,
//             "前端是否可以修改": false,
//             "前端是否显示": false,
//             "前端输入限制": null,
//             "前端输入限制提示": null,
//             "前端配置参数": "{\"width\": 120}",
//             "名称": "修改人id",
//             "字段类型": "INTEGER",
//             "字段长度": null,
//             "索引": true,
//             "自增长": null,
//             "自定义_默认值": null,
//             "备注": "用于记录这条数据的修改人，方便追溯"
//         },
//         "modify_time": {
//             "htmlcrud": {},
//             "update_modify_time": true,
//             "主键": false,
//             "前端上传限制": null,
//             "前端上传限制提示": null,
//             "前端是否可以修改": false,
//             "前端是否显示": false,
//             "前端输入限制": null,
//             "前端输入限制提示": null,
//             "前端配置参数": "{\"width\": 120}",
//             "名称": "修改时间",
//             "字段类型": "DATETIME",
//             "字段长度": null,
//             "索引": true,
//             "自增长": null,
//             "自定义_默认值": null,
//             "备注": "用于记录这条数据的修改时间，方便追溯"
//         },
//         "name": {
//             "edit_lhp_text": true,
//             "htmlcrud": {},
//             "show_lhp_text": "{}",
//             "主键": false,
//             "前端上传限制": null,
//             "前端上传限制提示": null,
//             "前端是否可以修改": true,
//             "前端是否显示": true,
//             "前端输入限制": null,
//             "前端输入限制提示": null,
//             "前端配置参数": "{\"width\": 120}",
//             "名称": "加工罐名称",
//             "字段类型": "VARCHAR",
//             "字段长度": [
//                 0,
//                 20
//             ],
//             "索引": true,
//             "自增长": null,
//             "自定义_默认值": null,
//             "备注": "加工罐名称方便客户选择"
//         },
//         "notes": {
//             "htmlcrud": {},
//             "主键": false,
//             "前端上传限制": null,
//             "前端上传限制提示": null,
//             "前端是否可以修改": null,
//             "前端是否显示": false,
//             "前端输入限制": null,
//             "前端输入限制提示": null,
//             "前端配置参数": "",
//             "名称": "备注",
//             "字段类型": "TEXT",
//             "字段长度": null,
//             "索引": true,
//             "自增长": null,
//             "自定义_默认值": "",
//             "备注": "记录这条数据需要注意的事项"
//         },
//         "pH": {
//             "edit_lhp_text": true,
//             "htmlcrud": {},
//             "show_lhp_line": "{\"h_size\":0.16,\"w_size\":1,\"number\":120,\"max\":10}",
//             "show_lhp_text": "{\"val\":1}",
//             "主键": false,
//             "前端上传限制": null,
//             "前端上传限制提示": null,
//             "前端是否可以修改": false,
//             "前端是否显示": true,
//             "前端输入限制": null,
//             "前端输入限制提示": null,
//             "前端配置参数": "{\"width\": 120}",
//             "名称": "PH",
//             "字段类型": "INTEGER",
//             "字段长度": null,
//             "索引": true,
//             "自增长": null,
//             "自定义_默认值": "0",
//             "备注": "加工罐的PH值"
//         },
//         "process": {
//             "edit_lhp_text": true,
//             "htmlcrud": {},
//             "show_lhp_number2text": "{\"0\":\"机械臂调配\",\"1\":\"装载花盘\",\"2\":\"进脱色液\",\"3\":\"脱色\",\"4\":\"排脱色液\",\"5\":\"清洗\",\"6\":\"加注色素\",\"7\":\"上色\",\"8\":\"排色素\",\"9\":\"出花\",\"10\":\"清洗管道\",\"11\":\"空闲\"}",
//             "show_text": true,
//             "主键": false,
//             "前端上传限制": null,
//             "前端上传限制提示": null,
//             "前端是否可以修改": false,
//             "前端是否显示": true,
//             "前端输入限制": null,
//             "前端输入限制提示": null,
//             "前端配置参数": "{\"width\": 120}",
//             "名称": "工艺步骤",
//             "字段类型": "TEXT",
//             "字段长度": null,
//             "索引": true,
//             "自增长": null,
//             "自定义_默认值": "",
//             "备注": "# 当前加工工艺的步骤id   0机械臂调配 1装载花盘2进脱色液3脱色4排脱色液 5清洗 6加注色素 7上色 8排色素 9出花 10清洗管道 11空闲"
//         },
//         "temp": {
//             "edit_lhp_text": true,
//             "htmlcrud": {},
//             "show_lhp_line": "{\"h_size\":0.16,\"w_size\":1,\"number\":120,\"max\":300}",
//             "show_lhp_text": "{\"val\":1}",
//             "show_lhp_xtext": "℃",
//             "主键": false,
//             "前端上传限制": null,
//             "前端上传限制提示": null,
//             "前端是否可以修改": false,
//             "前端是否显示": true,
//             "前端输入限制": null,
//             "前端输入限制提示": null,
//             "前端配置参数": "{\"width\": 120}",
//             "名称": "温度",
//             "字段类型": "INTEGER",
//             "字段长度": null,
//             "索引": true,
//             "自增长": null,
//             "自定义_默认值": "0",
//             "备注": "加工罐的温度"
//         },
//         "use": {
//             "htmlcrud": {},
//             "主键": false,
//             "前端上传限制": null,
//             "前端上传限制提示": null,
//             "前端是否可以修改": null,
//             "前端是否显示": false,
//             "前端输入限制": null,
//             "前端输入限制提示": null,
//             "前端配置参数": "",
//             "名称": "是否使用",
//             "字段类型": "INTEGER",
//             "字段长度": null,
//             "索引": true,
//             "自增长": null,
//             "自定义_默认值": null,
//             "备注": "用于记录这条数据的是否使用，方便追溯"
//         },
//         "variety_name": {
//             "edit_lhp_search_text_list": true,
//             "edit_lhp_search_text_list_head_data": "{\"db_name\":\"variety_db\",\"select_field\":[\"id\",\"name\"]}",
//             "edit_lhp_search_text_list_load_url": "/V1/db_handle",
//             "htmlcrud": {},
//             "show_lhp_text": true,
//             "主键": false,
//             "前端上传限制": null,
//             "前端上传限制提示": null,
//             "前端是否可以修改": true,
//             "前端是否显示": true,
//             "前端输入限制": null,
//             "前端输入限制提示": null,
//             "前端配置参数": "{\"width\": 120}",
//             "名称": "使用工艺",
//             "字段类型": "TEXT",
//             "字段长度": null,
//             "索引": true,
//             "自增长": null,
//             "备注": "加工罐的工艺队列 按照队列顺序进行加工"
//         }
//     }
// }
// 正在编辑的配置.更新函数({data_type:"postput",path:"db_config.ee2",data:aaa})
// 正在编辑的配置.更新函数({data_type:"delete",path:"db_config.ee2",})
// console.log("数据库列表:",数据库列表.data)